The present invention relates to crash consistency for para-virtual I/O caches through journaled filesystems. More specifically, the invention relates to a para-virtual I/O system architecture with a virtual disk interface and semantic journaling.
Virtualization has improved hardware utilization by allowing service providers to offer a wide range of application and infrastructure services. I/O virtualization is a methodology to simplify management, lower costs, and improve performance of servers in enterprise environments. I/O virtualization environments are created by abstracting upper layer protocols from physical connections or physical transport. This allows multiple physical servers and virtual machines to share I/O resources.
One virtualization technique is known as para-virtual I/O. In the para-virtual I/O system, a guest operating system is aware that it is running on a virtual disk. The para-virtual I/O system consists of a para-virtual driver in a guest operating system, and a virtual disk exported to the guest as a block device but stored as a file on the host filesystem. This enables flexible allocation of storage space and additional management features embedded in virtual machine images. The para-virtual I/O introduces a complex hierarchy of cache levels, which lends itself to concerns with providing crash consistency.